XHTTP transport: Add sessionIDTable and sessionIDLength; Rename session* to sessionID*#6258
Conversation
|
还有修了一下语法检查飙警告 |
2d68d34 to
4f7a474
Compare
|
lets see |
4f7a474 to
2f121bd
Compare
|
the issue with this entire thing is, if we're going to use query it still can be detected, param=string¶m2=digits, i guess we're being forced to get back into header mode which is retarded in the first place, you should allow us also append params in query string, the same way you do with "headers" |
|
跟这个patch无关 其余部分不是我设计的 |
|
ik its not related to this pr, but awaiting a month until another detection gets in a way is one of our concerns, try adding more options in the next pr to cover that too, considering we've got extra: headers{ why not have extra: {queries:... append:{ prepend:{ |
|
WE ARE BEGGING APPROVE THIS PULL REQUEST🗣️🗣️🗣️🗣️🗣️🗣️ |
|
I tested this, and it really does help bypass a CDN that started blocking requests based on UUID-like session IDs. Looking forward to the merge. |
…imes) XTLS#6258 — XHTTP Custom sessionID: - sessionIDTable: base62 / hex / HEX / 自定义 ASCII 表 - sessionIDLength: RangeConfig 控制长度 - GenerateSessionID() 替代 uuid.New().String() XTLS#4231 — Mux cool maxReuseTimes: - mux ClientStrategy 支持 MaxReuseTimes 替代固定 128 - 默认 60000,可通过 maxReuseTimes 配置下调 - outbound handler 传递配置到 mux 策略
|
MERGE 😭 |
|
Please merge this 🙏 |
|
Please merge this 🙏 |
|
Please merge this 🙏 We need this feature |
|
merge or gay |
|
⚡Учёные наконец-то описали редкий феномен: чем больше у человека вайтлист-серверов, тем заметнее тает его способность к связной мысли. Поначалу звучит как вброс с сомнительного паблика, но, глядя на комментарии выше, начинаешь верить в науку. |
|
Please merge this 🙏 We need this feature |
Честно говоря не понятно что вы имели в виду? |
|
Merge or you will get a free oreshnik missile ride |
|
Поставил я xray с этими правками, прописал в config sessionIDTable и sessionIDLength, но в запросах по логам nginx всё равно Uuid содержит "-". |
@ghost #6282 - it randomizes the request path per request from an operator-supplied list (pathPool), so with session/seq in cookies there's no fixed path or query pattern left to match. and query/header append could be the next step |
|
param=string¶m2=digits shape only shows up if you keep session/seq in the query. you're not stuck with header mode though. cookie placement keeps both out of the URL completely, so there's no query pattern to match. #6282 then randomizes the request path per request from an operator list, so the fixed path isn't a tell either. With those two, query-param padding isn't really needed, and it tends to become its own signature anyway |
Вижу, отправляются запросы вида: |
Тогда подскажите, пожалуйста, что я делаю не так? Собрал, заменил xray на сервере и клиенте под виндовс. На клиенте: В логах nginx: |
|
首字母大写是我在偏后写 alphabet 的时候没想好lower+upper的该怎么命名才弄出来的 为了区分全大写/全小写/大小写 三种模式 base62无歧义我想这不多敲一遍shift或者capslock |
|
配置也就写一遍不用反复敲,改成风格一致的比较直观吧,顺便这个 map 的顺序改成按前两个字母的 ascii 编号来排序 |
|
so what exactly stops you from being Normal and using proper alphabet implementation instead of confusing with "Alphabet"? alphabet what? Chinese alphabet? Cyrillic? English? do what people did in https://github.com/XTLS/Xray-core/pull/6253/changes#diff-4167e9b7ffb52959c4a31f7d8c6925c87ff20ce13b482b33142842769d11119dR56 what are you reinventing the wheel for? |
|
@Fangliding 按照 #5414 (comment) 的命名风格应该是 |
|
|
|
再次重申 #6253 (comment)
|
|
但是session表和session长度看起来很奇怪啊 |
|
要不就把另外两个也改名了,直接 breaking 吧,反正俄罗斯这情况原配置也用不了,infra 配置项改成放一起,看起来不乱
|
|
sessionIDTable and sessionIDLength; Rename session* to sessionID*
|
@Fangliding PR 正文加个 example,对新的四个参数进行说明, |
|
@Fangliding |
|
新参数只有两个啊 |
|
|
|
那几个挂在那个什么obfsmode下面要开得一起开 那就是三个无关字段和两个新增字段。。 |
|
|
|
哦好像是只xpadding 我把那个pr记成都用obfsmode当入口了 |
…imes) - sessionIDTable: base62 / hex / HEX / 自定义 ASCII 表 - sessionIDLength: RangeConfig 控制长度 - GenerateSessionID() 替代 uuid.New().String() - mux ClientStrategy 支持 MaxReuseTimes 替代固定 128 - 默认 60000,可通过 maxReuseTimes 配置下调 - outbound handler 传递配置到 mux 策略
- PR XTLS#6261 (ECH H2C fix): TLS ECH h2c:// 查询正确处理 - PR XTLS#6254 (brutal): TCP 暴力加速器 - PR XTLS#6258 (Custom sessionID): XHTTP sessionIDTable/sessionIDLength - PR XTLS#4231 (mux maxReuseTimes): Mux 连接复用次数上限 - PR XTLS#6058 (freedom compatibility): Freedom 出站兼容性改进 - XUDP: 改进 UDP over XUDP 传输效率 - 新增 xray.go 配置框架
|
@Fangliding 你那个 example 里 sessionIDPlacement 写的 header 然而 sessionIDKey 写的 token,小写 t 有点误导了,改一下 顺便需要明说改了 #5414 (comment) 参数名,列一下 sessionIDPlacement 的四个可选值,以及 sessionIDKey 不对 path 生效 |
|
http header大小写不敏感啊 |
|
|
|
配置怎么写都随便 到go里统一映射到 Aaaaaa-Bbbbb-Cccccc 这种格式 |
|
|


基本是 #6251 和 #6253 的修正版本
支持range设定 自定义table 必须是 ASCII 字符
预定义table
#5414 (comment) 中的 sessionPlacement -> sessionIDPlacement,sessionKey -> sessionIDKey,第三方实现无需兼容原名
配置示例